﻿Imports Biz
Imports DAL


''' <summary>
''' Clase de gestión de lógica de negocio para la entidad Politicas de Seguridad
''' </summary>
''' <remarks></remarks>
Public Class GestorPoliticas_Seguridad

    Private Shared _instance As GestorPoliticas_Seguridad
    Private Shared _semaforo As New Object

    Private _DALPoliticas_Seguridad As DALPoliticas_Seguridad


    ''' <summary>
    ''' Realiza una llamada a la capa de acceso a datos DAL para obtener los datos de un objeto cPoliticas_Seguridad
    ''' </summary>
    ''' <returns>Objeto de tipo cPoliticas_Seguridad</returns>
    ''' <remarks></remarks>
    Public Function Buscar() As cPoliticas_Seguridad
        Return _DALPoliticas_Seguridad.Sel()
    End Function

    ''' <summary>
    ''' Realiza una llamada a la capa de acceso a datos DAL para actualizar las Políticas de Seguridad del sistema
    ''' </summary>
    ''' <param name="oPoliticas_Seguridad">Objeto de tipo cPoliticas_Seguridad</param>
    ''' <returns>Valor booleano que indica el resultado de la operación</returns>
    ''' <remarks></remarks>
    Public Function Editar(ByVal oPoliticas_Seguridad As cPoliticas_Seguridad) As Boolean
        Return _DALPoliticas_Seguridad.Update(oPoliticas_Seguridad)
    End Function

    ''' <summary>
    ''' Método estático Instance para exponer una única instancia de la clase GestorPoliticas_Seguridad
    ''' </summary>
    ''' <returns>Unica instancia de la clase GestorPoliticas_Seguridad</returns>
    ''' <remarks></remarks>
    Public Shared Function Instance() As GestorPoliticas_Seguridad
        If _instance Is Nothing Then
            SyncLock (_semaforo)
                If _instance Is Nothing Then
                    _instance = New GestorPoliticas_Seguridad
                End If
            End SyncLock
        End If

        Return _instance
    End Function

    Private Sub New()
        _DALPoliticas_Seguridad = DALPoliticas_Seguridad.Instance
    End Sub

End Class
